<?php
namespace Common\Model;
/**
 * @authotr 刘杰
 * @since 1.0
 */
class Movie
{
    /**
     * 定义状态常量 属性
     */
    const STATUS_YES = 10;          // 可用
    const STATUS_NO = 20;           // 禁用
    const STATUS_DELETE = 90;       // 删除

    const TAGS_ONE = 10;           // 喜剧
    const TAGS_TWO = 20;           // 动作
    const TAGS_THREE = 30;         // 悬疑
    const TAGS_FOUR = 40;          // 爱情
    const TAGS_FIVE = 50;          // 犯罪
    const TAGS_SIX = 60;           // 惊悚
    const TAGS_SEVEN = 70;         // 动画
    const TAGS_EIGHT = 80;         // 枪战
    const TAGS_NINE = 90;          // 悲剧
    const TAGS_TEN = 100;          // 科幻
    const TAGS_ELEVEN = 110;       // 战争
    const TAGS_TWELVE = 120;       // 青春

    const LANGUAGE_ONE = 10;       // 中文
    const LANGUAGE_TWO = 20;       // 英文
    const LANGUAGE_THREE = 30;     // 日文
    const LANGUAGE_FOUR = 40;      // 韩文
    const LANGUAGE_FIVE = 50;      // 泰文

    /*
     *  状态字段的显示别名
     *  状态转换方法 static 从php5.3开始 增加了后期静态绑定 功能
     *  也可以写成  static::STATUS_YES 即可 也可以理解为 self 自己调用自己  写在这里就不能写在方法名前面
     *  @param null $status 如果此参数为null，则返回所有可用状态值
     *  @return array|string
     */
    public static function statusAlias($status = null)
    {
        $items = array(
            self::STATUS_YES => '可用',
            self::STATUS_NO => '禁用',
            self::STATUS_DELETE => '删除'
        );
        //如果没有传值 就显示全部
        if ($status === null) {
            return $items;
        }
        //判断 如果传进来的status 在 $items 数组中 有这个下标
        if (array_key_exists($status, $items)) {
            //则 返回这个 $items下标的值
            return $items[$status];
        }
        // 没有就返回他自己本身
        return $status;
    }

    /**
     * 传值标签 调用定义标签常量
     * @param  $tags
     * @return array|string
     */
    public static function tagsAlias($tags = null)
    {
        $items = array(
             self::TAGS_ONE    => '喜剧',
             self::TAGS_TWO    => '动作',
             self::TAGS_THREE  => '悬疑',
             self::TAGS_FOUR   => '爱情',
             self::TAGS_FIVE   => '犯罪',
             self::TAGS_SIX    => '惊悚',
             self::TAGS_SEVEN  => '动画',
             self::TAGS_EIGHT  => '枪战',
             self::TAGS_NINE   => '悲剧',
             self::TAGS_TEN    => '科幻',
             self::TAGS_ELEVEN => '战争',
             self::TAGS_TWELVE => '青春'
        );
        //如没有传值就显示全部
        if( $tags === null){
            return $items;
        }
        $arr = explode(',',$tags);
        $tag='';
        foreach($arr as $ke=>$val){
            $tag .= $items[$val].'/';
        }
        return $tagg = trim($tag,'/');
        //判断 如果传进来的tags 在 $items 数组中 有这个下标
       /* if (array_key_exists($tags,$items))
        {
            return $items[$tags];
        }
        return $tags;
       */
    }

    /**
     * 语言 调用定义标签常量
     * @param  $language
     * @return array|string
     */
    public static function languageAlias($language = null)
    {
        $items = array(
            self::LANGUAGE_ONE    => '中文',
            self::LANGUAGE_TWO    => '英文',
            self::LANGUAGE_THREE  => '日文',
            self::LANGUAGE_FOUR   => '韩文',
            self::LANGUAGE_FIVE   => '泰文'
        );
        //如没有传值就显示全部
        if( $language === null){
            return $items;
        }
        //判断 如果传进来的language 在 $items 数组中 有这个下标
        if (array_key_exists($language,$items))
        {
            return $items[$language];
        }
        return $language;
    }
}
